跳到主要内容

示例

熔炉(furnace) 数据源包含 3 个字段,我们需要根据温度阈值对消息进行路由:

  • 温度(temp)> 85 → 路由至 输出 1(Output 1)
  • 温度(temp)≤ 85 → 路由至 输出 2(Output 2)
{
"furnace": {
"temp": 86,
"humidity": 64,
"pressure": 80
}
}

需使用的节点

本示例中,我们使用 switch 节点根据条件对消息进行路由。

参数(Parameter)说明(Description)
属性(Property)

需评估的属性路径。常用 msg.payload 或更深层的属性, 本示例中为 msg.payload.temp

规则(Rules)

一组评估规则,每条规则对应一个输出端口。

类型(Type)

比较的数据类型:数字(number)、字符串(string)、布尔值(boolean)、JSONata 等。

信息

确保数值比较不会被当作字符串比较处理。

值(Value)

比较的目标值来源:常量值(如 85)、 msg. 字段(如 msg.threshold)、 flow. / global. 上下文变量, 或 JSONata 表达式。

检查所有规则(checking all rules)

按顺序评估所有规则。若消息匹配多条规则,会发送至多个输出端口。

找到第一个匹配后停止(Stop after first match)

找到第一个匹配规则后停止评估,消息仅发送至一个输出端口。

重建消息序列(recreate message sequences)

启用后,保留并重建消息序列元数据(msg.parts)——通常由拆分(split)节点生成—— 确保消息序列在分支后仍能保持完整。

如何筛选数据?

  1. 事件流程 中添加一个 mqtt in 节点,获取平台中的数据。
  2. 拖拽一个 switch 节点并配置其属性。
  1. switch 节点的每个输出端口分别连接一个 debug 节点。
  2. 触发流程并查看结果。